/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package comparators.abstraction;

import interfaces.CandidateCapable;
import interfaces.SearchCapable;
import java.util.Comparator;
import util.filter.Predicate;

/**
 *
 * @author damianfernandez
 * @param <T>
 * @param <P>
 */
public abstract class CandidateCapableComparator<T extends CandidateCapable,P extends Predicate<T> & SearchCapable>  implements Comparator<T>{
    private P predicate;
    
    public CandidateCapableComparator(P predicate){
        this.predicate=predicate;
    }

    /**
     * @return the predicate
     */
    public P getPredicate() {
        return predicate;
    }

    /**
     * @param predicate the predicate to set
     */
    public void setPredicate(P predicate) {
        this.predicate = predicate;
    }
}
